Life Cycle and Refactoring Patterns that Support Evolution and Reuse

نویسندگان

  • Brian Foote
  • William F. Opdyke
چکیده

Software development can be characterized in terms of prototype (or initial design) phases, expansion phases and consolidation phases. During a consolidation phase, some relationships, initially modeled using inheritance, may be evolved to aggregations. Also, during consolidation, abstrasct classes are sometimes de ned to capture behavior common to two or more existing classes. In this paper, we de ne high-level patterns for the prototype, expansion and consolidating programs. We also de ne supporting patterns for evolving aggregations from inheritance hierarchies and for creating abstract classes.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Refactoring Object-Oriented Software to Support Evolution and Reuse

Software often needs to be changed before it can be reused. In our research into refactoring (restructuring) object-oriented software, we have discovered four major reasons why people are reluctant to refactor their programs, even if they accept the reuse benefits. We briefly discuss our approaches for addressing each of these concerns.

متن کامل

A Reuse Definition, Assessment, and Analysis Framework for UML†

Despite the popularity of component-based models, languages, and tools, there is an absence of reusability assessment/analyses throughout the design and development process. Software engineers must be allowed to precisely measure the potential and actual reuse of software artifacts to achieve domainspecific reuse for an organization's current and future products. Towards this goal, our previous...

متن کامل

A Three-Dimensional Model for System Design Evolution

We represent the life cycle of the design of a system in a three-dimensional space with engineering, reengineering, and reuse axes. The three-dimensional model is evolution-oriented. It incorporates not only the evolution that occurs after the product has been produced and delivered, but also three types of system design evolution that take place before the product is produced. Associated with ...

متن کامل

Object - Oriented Refactoring , Legacy Constraints

Legacy constraints can impede reuse eeorts in industrial settings. In this position paper, I rst describe some of the results of my research into refactoring object-oriented software; refactoring is a means for achieving evolution and reuse in the midst of legacy constraints. Then, I discuss some insights gained from recent eeorts to encourage reuse in industrial settings.

متن کامل

Reengineering a B-tree Implementation Using Design Patterns

Signiicant improvement in design quality is possible by using design patterns. We present the evolution of an implementation of a B-tree indexing system, which is a component in a database management system, in order to illustrate how design patterns clarify the design and make the design more extensible. The reengineering is a necessary step towards a reusable design and implementation for mul...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994